package com.ruoyi.safe.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目自检对象 biz_project_check
 *
 * @author ruoyi
 * @date 2023-11-17
 */
@Data
public class BizProjectCheck extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 检查任务名称 */
    @Excel(name = "检查任务名称")
    private String checkTaskName;

    /** 检查类型 */
    private Long checkType;

    /** 检查依据 */
    private Long checkAccording;

    /**
     * 是否需要签到 （0:不需要签到 1:需要签到）
     */
    private Integer needSignIn;

    /**
     * 集合点
     */
    @Excel(name = "集合点")
    private String meetingPoint;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 检查人数 */
    @Excel(name = "检查人数")
    private Integer rummagerCount;

    /** 计划检查时间 */
    @Excel(name = "计划检查时间")
    private String planCheckTime;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 完成检查时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成检查时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date complateCheckTime;

    /** 隐患总数 */
    @Excel(name = "隐患总数")
    private Integer hiddenDangerSum;

    /** 隐患整改情况 */
    @Excel(name = "隐患整改情况")
    private String hiddenAbarbeitung;

    /** 检查项目id */
    @Excel(name = "检查项目id")
    private Long projectId;

    /** 检查项目 */
    @Excel(name = "检查项目")
    private String checkProject;

    /** 检查人员 */
    @Excel(name = "检查人员")
    private String checkPeople;

    /** 检查说明 */
    @Excel(name = "检查说明")
    private String checkMessage;

    /** 发现隐患数（待整改[4,2]、待复查[1]、合格[3]） */
    @Excel(name = "发现隐患数")
    private Long findDangerCount;

    /**
     * 待办隐患数量  我的待办隐患数量(待整改[4,2]、待复查[1])
     */
    private Long inHandDangerCount;

    /**
     * 重大隐患数量
     */
    private Long importHiddenDangerCount;

    /** 现场照片 */
    @Excel(name = "现场照片")
    private String secnePhoto;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;


    //视图的属性
    /**
     * 检查项目名称
     */
    private String projectName;
    /**
     * 检查状态名称
     */
    private String checkStatusName;
    /**
     * 检查人员
     */
    private String checkPeopleName;
    /**
     * 检查类型名称
     */
    @Excel(name = "检查类型")
    private String checkTypeName;
    /**
     * 检查依据名称
     */
    @Excel(name = "检查依据")
    private String checkAccordingName;
    /**
     * 检查记录集合
     */
    private List<BizProjectCheckRecord> bizProjectCheckRecords;

    /**
     * 自己的检查记录集合
     */
    private List<BizProjectCheckRecord> myBizProjectCheckRecords;

    /**
     * 是否具有新增记录的权限
     */
    private boolean hasAddRecordPermission;

    /*用户id*/
    private String userName;

    /*搜索类型 0个人代办 1个人所有*/
    private String searchType;
}
